In many computing environments, a very large number of instructions may be handled by a computer in a short space of time. For example, a server which is operating a website for a large enterprise such as a bank will be handling a very large number of requests and transactions every second, often running into the thousands per second. Such a computing system has to run very complex software in order to maintain acceptable levels of security and liability. In such a complex computing environment, error detection and monitoring is important. Many different techniques are used in such environments, one of which is known as trace.
In software engineering, tracing is a specialized type of logging in order to record information about a program's execution. This information can be used by programmers for debugging purposes, and additionally, depending on the type and detail of information contained in a trace log, by experienced system administrators or technical support personnel and software monitoring tools to diagnose common problems with the software.
In a big data environment, where many requests are made to a server, it is often impractical to enable trace to capture a problem. Trace can create many gigabytes of data, because so many transactions or requests are running concurrently. However, Level 3 support (the highest level of support in a three-tiered technical support model responsible for handling the most difficult or advanced problems) often need to use trace to figure out why a problem has happened. Such an environment could be the IBM® MQ Messagesight appliance, which handles many thousands of requests concurrently, or the IBM CICS® Transaction Server, which handles thousands of transactions per second. (IBM® and CICS® are registered trademarks of International Business Machines Corporation, Armonk, N.Y., USA. Other names used herein may be registered trademarks, trademarks or product names of International Business Machines Corporation, or other companies).